//
//  JSExcuteObject.m
//  EClub
//
//  Created by iBenz on 16/6/28.
//  Copyright © 2016年 EC. All rights reserved.
//

#import "JSExcuteObject.h"

/*
 用户信息协议:
 H5页面加载时调用原生的函数setInfo  [local_obj.setInfo();];
 在原生的setInfo函数中调用H5页面的函数getUserInfo 并把除用户密码外的用户资料以JSON格式传递给H5页面.
 
 提交数据到原生取签名协议:
 H5页面需要签名时,通过调用原生的函数 setSign local_obj.setSign("{'name':111,'id':222,'title':'dsadsadsada'}")
 原生的setSign函数生成签名后调用H5的函数setSign(),将签名传回H5页面,完成签名.
 */

NSString *const requestInterOp  = @"interOp";
NSString *const requestInfo  = @"setInfo";  // 请求用户信息
NSString *const requestSign  = @"setSign";  // 请求签名
NSString *const taskComplete = @"TaskComplete"; // 任务完成

@interface JSExcuteObject ()
@property(nonatomic, weak) JSContext *context;
@end
@implementation JSExcuteObject

+ (instancetype)JSExcuteObjectWithContext:(JSContext *)context {
    JSExcuteObject *js = [[JSExcuteObject alloc] init];
    js.context = context;
    return js;
}

- (void)userContentController:(WKUserContentController *)userContentController
      didReceiveScriptMessage:(WKScriptMessage *)message {
    NSString *name = message.name;
    if ([name isEqualToString:requestInfo]) {
        [self passUserInfoToJS];
    }
    else if ([name isEqualToString:requestSign]) {
        [self passSignToJS:message.body];
    }
    else if ([name isEqualToString:taskComplete]) {
        
    }
}

- (void)dealloc {
}

- (void)setInfo {
    [self passUserInfoToJS];
}

- (void)setSign:(NSString *)value {
    NSLog(@"%@", value);
}

- (void)TaskComplete:(NSString *)task {
    NSLog(@"%@", task);
}

- (void)passUserInfoToJS {
}

- (void)passSignToJS:(NSDictionary *)dict {
    NSLog(@"%@", dict);
}

@end


